package com.pfzy.ui.activity.learning;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import androidx.annotation.ColorInt;
import androidx.annotation.IdRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

//abstract class BaseAdapter<T> extends RecyclerView.Adapter<BaseAdapter.BaseViewHolder> {
//    @Nullable
//    private List<T> mData = new ArrayList<>();
//
//    /**
//     * 存入数据源
//     */
//    protected void setData(@Nullable List<T> data) {
//        if (mData == null) {
//            mData = Objects.requireNonNullElseGet(data, ArrayList::new);
//        } else {
//            mData.clear();
//            if (data != null) {
//                mData.addAll(data);
//            }
//        }
//    }
//
//    /**
//     * 获取单个Item
//     *
//     * @param position
//     * @return T or NULL
//     */
//    @Nullable
//    protected T getItem(int position) {
//        if (mData == null || position >= mData.size()) {
//            return null;
//        }
//        return mData.get(position);
//    }
//
//    /**
//     * 计算条目
//     * @return count
//     */
//    @Override
//    public int getItemCount() {
//        return mData == null ? 0 : mData.size();
//    }
//
//    public abstract int getLayoutId();
//
//    @NonNull
//    @Override
//    public BaseViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
//        View view = LayoutInflater.from(parent.getContext()).inflate(getLayoutId(), parent, false);
//        return new BaseViewHolder(view);
//    }
//
//    @Override
//    public void onBindViewHolder(@NonNull BaseViewHolder holder, int position) { }
//
//    public class BaseViewHolder extends RecyclerView.ViewHolder {
//        public BaseViewHolder(@NonNull View itemView) {
//            super(itemView);
//        }
//
//        public BaseViewHolder setText(@IdRes int id, CharSequence text) {
//            View view = itemView.findViewById(id);
//            if (view instanceof TextView) {
//                ((TextView) view).setText(text);
//            }
//            return this;
//        }
//
//        public BaseViewHolder setTextColor(@IdRes int id, @ColorInt int color) {
//            View view = itemView.findViewById(id);
//            if (view instanceof TextView) {
//                ((TextView) view).setTextColor(color);
//            }
//            return this;
//        }
//
//        public BaseViewHolder setTextSize(@IdRes int id, float size) {
//            View view = itemView.findViewById(id);
//            if (view instanceof TextView) {
//                ((TextView) view).setTextSize(size);
//            }
//            return this;
//        }
//    }
//}